ML Software Developer
Description
Votre rôle
Développement logiciel
- Déployer des solutions de machine learning et intégrer des outils d’IA dans le pipeline VFX avec un impact minimal sur les artistes et la production
- Concevoir et développer des interfaces web front-end (tableaux de bord, outils de curation, gestion des tâches, review) rendant les workflows ML et d’automatisation intuitifs et accessibles
- Collaborer avec des parties prenantes et des architectes à l’échelle mondiale pour implémenter des pipelines de données et MLOps efficaces en termes de coûts, et documenter les méthodologies
- Concevoir, packager et configurer des systèmes logiciels complexes sous Linux
- Améliorer l’efficacité, la stabilité et l’observabilité via le profiling, les métriques et le tracing
- Valider les développements à l’aide de tests méthodiques (unitaires, intégration, end-to-end)
- Rédiger une documentation technique claire ainsi que des guides de workflow pour les artistes et les développeurs
- Gérer les incidents escaladés et le débogage des outils et services basés sur le ML
- Travailler en collaboration dans des délais contraints ; encadrer les développeurs, déléguer certaines tâches si nécessaire et reporter au Head of ML Technology
Qualité logicielle et standards d’ingénierie
- Appliquer des standards via CI : formatage (black, clang-format), linting (ruff, eslint, clang-tidy), typage (type hints Python, TypeScript) et seuils de couverture de tests
- Imposer des revues de code pour toutes les intégrations ; maintenir des architectures modulaires, testables, avec une séparation claire des responsabilités et des cœurs indépendants des DCC lorsque pertinent
- Maintenir des API documentées (OpenAPI, Protobuf), des schémas versionnés et des évolutions rétrocompatibles
- Appliquer des pratiques de sécurité par défaut (authentification/autorisation, gestion des secrets), des budgets de performance et une télémétrie intégrée dès la conception
Technologies principales
- Langages : Python 3.x (outillage et intégration ML), C++17 (composants critiques en performance), TypeScript / JavaScript (interfaces web)
- Front-end web : React (ou Vue), outils modernes de build, clients REST / GraphQL
- Services : FastAPI / Flask, gRPC / HTTP ; conteneurisation sous Linux
- Build / packaging : CMake ; setuptools / pip / poetry ; RPM / deb si nécessaire
- VCS / CI : Git ; GitHub / GitLab CI ou Jenkins
Profil requis
- Expérience en tant qu’architecte d’applications Python
- Excellentes compétences en programmation et scripting (Python, Bash)
- Expérience dans la construction et le débogage de packages complexes (C++11–17, CMake, autotools, setuptools/pip/poetry, RPM)
- Expertise Linux et maîtrise de la ligne de commande
- Solide compréhension de l’architecture des systèmes et des fondamentaux du génie logiciel
- Capacité à vulgariser des concepts techniques complexes et à collaborer efficacement
- Aisance dans des environnements ambigus avec capacité à proposer des solutions pragmatiques
- Esprit proactif et capacité à gérer plusieurs priorités
- Approche logique et méthodique de la résolution de problèmes
Atouts supplémentaires
- Expérience en tant que lead sur au moins un projet
- Expérience significative avec un système de gestion de packages ou de ports
- Expérience dans le monitoring, la collecte et l’analyse de données de diagnostic pour améliorer la résilience
- Expérience pratique avec Git et les outils de suivi (Jira)
- Familiarité avec les outils ops / CI-CD (Elastic Stack, Graphite, Grafana, StatsD, Sensu, Jenkins, GitHub Actions)
- Connaissances en administration système (réseau, systèmes de fichiers, gestion des environnements)
- Diplôme pertinent (informatique, génie informatique) ou certifications (RHCSA, RHCE, etc.)
- Contributions open source démontrables
Vous devriez postuler si :
- Vous aimez concevoir, packager et configurer des systèmes logiciels complexes
- Vous appréciez le travail en équipe et savez déléguer et encadrer
- Vous êtes à l’aise avec les pratiques modernes de développement logiciel et les outils ML, et aimez collaborer avec ingénieurs, chercheurs et artistes
- Vous accordez de l’importance à l’efficacité, à la fiabilité et à la qualité du code
Brahma AI & DDU
L’équipe conçoit des outils, des plateformes et des workflows qui soutiennent les pipelines VFX et animation à travers les studios mondiaux de DNEG.
The ML Technology department at Brahma DNEG-Dedicated Unit (Brahma DDU) explores, tests, and deploys machine-learning and automation solutions to support the technology and infrastructure that powers DNEG’s multi-site, global VFX and Feature Animation studio. With thousands of artists producing tens of thousands of shots across film, TV, and immersive experiences, we face complex scaling and workflow challenges.
As a Senior Software Developer, you will act as an architect building Python applications, high-quality tools, services, and web front-end UIs that enable award-winning VFX and feature animation work.
Your role:
- Software Development
- Deploy ML solutions and integrate AI tooling within the VFX pipeline with minimal burden on artists and production.
- Design and build web front-end UIs (dashboards, curation tools, job control, review) that make ML/automation workflows intuitive and accessible.
- Collaborate with global stakeholders and architects to implement cost-effective data and MLOps pipelines; document methodologies.
- Build, package, and configure complex software systems across Linux.
- Improve efficiency, stability, and observability through profiling, metrics, and tracing.
- Validate work with methodical testing (unit/integration/e2e).
- Write clear technical documentation and workflow guides for artists and developers.
- Manage escalated troubleshooting and debugging for ML-driven tools and services.
- Work collaboratively under tight deadlines; mentor developers, assign tasks where appropriate, and report to the Head of ML Technology.
Engineering quality and coding standards:
- Enforce standards via CI: formatting (e.g., black/clang-format), linting (ruff/eslint, clang-tidy), typing (Python type hints, TypeScript), and test coverage gates.
- Require code reviews for all merges; maintain modular, testable designs with clear separation of concerns and DCC-agnostic cores where applicable.
- Documented APIs (OpenAPI/Protobuf), versioned schemas, and backward-compatible changes.
- Secure-by-default practices (authn/z, secrets management), performance budgets, and telemetry by design.
Primary technologies (coding language setup):
- Languages: Python 3.x (tooling and ML integration), C++17 (performance-critical components), TypeScript/JavaScript (web UIs).
- Web front-end: React (or Vue), modern build tooling, REST/GraphQL clients.
- Services: FastAPI/Flask, gRPC/HTTP; containerized on Linux.
- Build/packaging: CMake; setuptools/pip/poetry; RPM/deb where appropriate.
- VCS/CI: Git; GitHub/GitLab CI or Jenkins.
Must Have
- Experience as an architect for Python applications
- Strong programming and shell-scripting skills (Python; Bash).
- Experience building and troubleshooting non-trivial packages (C++11–17, CMake, autotools, setuptools/pip/poetry, RPM).
- Linux expertise and command-line proficiency.
- Solid grasp of systems architecture and software engineering fundamentals.
- Ability to articulate complex technology to non-experts and collaborate openly.
- Confidence in navigating ambiguity and providing pragmatic solutions.
- Proactive mindset and comfort with multiple priorities.
- Logical, methodical approach to problem solving.
Nice to Have
- Experience as Lead on at least one project
- Significant experience with a major package/ports system.
- Experience monitoring, collecting, and analyzing diagnostics to drive resilience.
- Practical experience with Git and issue tracking systems (Jira).
- Familiarity with ops/CI/CD tooling (Elastic Stack, Graphite/Grafana/StatsD, Sensu, Jenkins/GitHub Actions).
- Understanding of sysadmin responsibilities (networking, filesystems, environment management).
- Relevant qualifications (CS/CE degree; RHCSA/RHCE, etc.).
- Demonstrable open-source contributions.
- You enjoy building, packaging, and configuring complex software systems.
- You enjoy acting as a team player - you know how to delegate and mentor others.
- You are fluent across modern software development and ML tooling and like collaborating with engineers, researchers, and artists.
- You care about efficiency, reliability, and clean engineering.
This role is crucial to implementing seamless ML capabilities across the DNEG/Brahma group, directly improving the tools that power projects from blockbuster features to premium television.
backgrounds and originate from a number of different countries, working across the globe at the
forefront of technology in the industry.
Please note that this is a unionized position and will be covered by a collective agreement between DNEG and IATSE, in the coming months. As a unionized employee, you will be required to join the union and will benefit from the conditions set out in the collective agreement. Union dues will be required once the collective agreement is in place.
About Us
We are DNEG, one of the world’s leading visual effects and animation companies for the creation of award-winning feature film,
television, and multiplatform content. We employ more than 9,000 people
with worldwide offices and studios across North America (Los Angeles,
Montréal, Toronto, Vancouver), Europe (London), Asia (Bangalore, Mohali,
Chennai, Mumbai) and Australia (Sydney).
At DNEG, we fundamentally believe that embracing our differences is a vital component of our collective success. We are committed to creating an equitable, diverse and inclusive work environment for our global teams, where everyone feels they matter and belong. We welcome and encourage applications from all, regardless of background, experience or disability. Please let us know if you need any adjustments or support during the application process, we will do our best to accommodate your needs. We look forward to meeting you!